Generally, there has been an ongoing trend to assign maintenance of large applications and application portfolios of a business to third parties specializing in application maintenance. These third parties are generally tasked to deliver the best possible maintenance at the lowest cost. To do so, they need to identify repeat problem areas, which cause significant maintenance issues, and seek a unified remedy to avoid the costs spent on fixing these individually. These repeat areas, in a sense, represent major, evolving areas of need, or requirements, for the customer.
Over time, each application maintenance team collects a rich repository of problem “tickets” (wherein a ticket represents a submission of a specific problem for resolution). The information about the problem is typically embedded in the unstructured text of these tickets. It can be appreciated that evolving needs of a customer may end up being buried or unaddressed as repeating groups of tickets continue to be submitted. To resolve this, repeat problems are conventionally found by manual analysis, but wholly apart from the resource and personnel costs needed in such a capacity, effective solutions are heavily tied to a volatile variable representing the collective experience of the team solving them.